A multiplication of polynomial binary fields is often used in cryptographic operations. One example is Elliptic-Curve Cryptography (ECC) where the multiplication typically accounts for about 80% of the execution time of a single ECC point multiplication.
Such a multiplication requires a lot of computational resources and is typically executed using dedicated hardware. However, often a software solution is preferred for various reasons such as flexibility and area.
Accordingly, efficient approaches for performing polynomial multiplications are desirable.